package ec.linde.modulos.recursos.convertidores;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import ec.linde.modulos.proyectos.servicio.ServicioDatosBaseProyectos;
import ec.linde.persistencia.entidades.ProdSucursales;
import ec.linde.persistencia.entidades.SeadUsuarios;

@FacesConverter(forClass = SeadUsuarios.class, value = "sucursalConverter")
public class SucursalConverter implements Converter {

	@Override
	public Object getAsObject(FacesContext context, UIComponent component, String value) {
		if (value.trim().equals("") || value == null) {
			return null;
		}
		int idEmpresa = Integer.parseInt(value);
		ProdSucursales sucursal = getServicioDatosBaseProyectos().buscarSucursalPorId(idEmpresa);
		return sucursal;
	}

	@Override
	public String getAsString(FacesContext context, UIComponent component, Object value) {
		if (value == null || value.equals("")) {
			return "";
		} else {
			return ((ProdSucursales) value).getSucuId() + "";
		}
	}

	public ServicioDatosBaseProyectos getServicioDatosBaseProyectos() {
		ServicioDatosBaseProyectos servicioDatosBaseProyectos = null;
		try {
			servicioDatosBaseProyectos = (ServicioDatosBaseProyectos) new InitialContext()
					.lookup("java:global/productividadEAR/productividadEJB/ServicioDatosBaseProyectosImpl");
		} catch (NamingException e) {
			e.printStackTrace();
		}
		return servicioDatosBaseProyectos;

	}

}
